package com.sservice.service.service;

import com.sservice.commonBusiness.e.Category;
import com.sservice.model.entity.Offer;
import com.sservice.model.vo.OfferVo;

import java.util.List;
import java.util.Map;

public interface IOfferService {
    List getGenderList();

    List<Category> getCategoryBySize(List<Offer> list);

    /**
     * 分页查询:关键字，手机号、字段升降序、每页显示大小，某一页
     * 默认进行每页15个显示
     *
     * @param arg
     * @return
     */
    List<OfferVo> queryByPage(OfferVo arg);

    /**
     * 按主题查询
     *
     * @param record
     * @return
     */
    List<OfferVo> selectByTheme(OfferVo record);

    /**
     * 根据offer条件获取符合条件的Category（颜色、年龄、...）
     *
     * @param record
     * @return
     */
    Map getCategoryByRcecord(OfferVo record);

    /**
     * 按主题进行统计
     *
     * @param record
     * @return
     */
    int countByTheme(OfferVo record);


    public int queryCount(OfferVo arg);

    int deleteByPrimaryKey(Integer id);

    int insert(Offer arg);

    int insertSelective(Offer arg);

    OfferVo selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(Offer arg);

    /**
     * 统计某一产品报价数量
     *
     * @param goodsId
     * @return
     */
    int queryOfferByGoodsId(String goodsId);


    List<OfferVo> queryByPagePC(OfferVo user);

    /**
     * 符合统计条件的总数统计
     *
     * @param user
     * @return
     */
    int queryCountPC(OfferVo user);


    List<OfferVo> queryByPagePCFocus(OfferVo user);

    /**
     * 符合统计条件的总数统计
     *
     * @param user
     * @return
     */
    int queryCountPCFocus(OfferVo user);


    /***
     * 根据goods_id获取报价单数量
     * @param user
     * @return
     */
    int queryCountByGoodsId(Offer user);

    /**
     * 创建用户ID获取报价数量
     *
     * @param user
     * @return
     */
    int queryCountMyOfferByCreatorId(Offer user);


    /**
     * 根据供货地仓库ID查找报价单数量
     *
     * @param offer
     * @return
     */
    int selectByDeliverPlaceIds(Offer offer);


    /**
     * 通用关系统计
     *
     * @param record
     * @return
     */
    int countCommonByDr(OfferVo record);

    /**
     * 通用关系查询
     *
     * @param recode
     * @return
     */
    List<OfferVo> queryCommonByDr(OfferVo recode);
}
